﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common.UI.EM.Agregation;
using SEG.Model;
using System.Windows;

namespace SEG.UI.Control.Views
{
    public class AsignarPermisosAGrupoAgregationView : AgregationView<Permiso>
    {
        public override bool ValidateNewEntity(Permiso entityObject)
        {
            if (entityObject == null ||
                entityObject.ID_Permiso == Guid.Empty ||
                entityObject.ChangeTracker.State == Common.Model.ObjectState.Added)
            {
                MessageBox.Show("El campo Permiso es de ingreso obligatorio.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return false;
            }
            if (this.List.Count(p => p.ID_Permiso == entityObject.ID_Permiso) != 0)
            {
                MessageBox.Show("El Permiso seleccionado ya se encuentra asociado al Grupo.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return false;
            }
            return true;
        }

        protected override void AddColumnDefinitions()
        {
            this.View.AddColumnDefinition("Nombre", "Nombre");
            this.View.AddColumnDefinition("Formulario.Nombre", "Formulario");
            this.View.AddColumnDefinition("AccionesString", "Acciones");
        }

        protected override void InitializeDetailDataView()
        {
            this.View.CustomControl = new AsignarPermisosAGrupoDetailDataView();
        }
    }
}
